/*
PRTGen - A Parallel implementation of RainbowCrack using MPI.
Copyright (C) 2008 EliteQing <liinux@126.com>
This source code is based on:
RainbowCrack - a general propose implementation of Philippe
Oechslin's faster time-memory trade-off technique.
*/
#ifndef _PUBLIC_H
#define _PUBLIC_H
#include <stdio.h>
#include <string>
#include <vector>
#include <list>
using namespace std;
#ifdef _WIN32
#define uint64 unsigned __int64
#else
#define uint64 u_int64_t
#endif
struct RainbowChain
{
uint64 nIndexS;
uint64 nIndexE;
};
#define MAX_PLAIN_LEN 256
#define MIN_HASH_LEN 8
#define MAX_HASH_LEN 256
unsigned int GetFileLen(FILE* file);
string TrimString(string s);
bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
bool SeperateString(string s, string sSeperator, vector<string>& vPart);
string uint64tostr(uint64 n);
string uint64tohexstr(uint64 n);
string HexToStr(const unsigned char* pData, int nLen);
unsigned int GetAvailPhysMemorySize();
void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);
string CommaDelimitedNumber(long l);
void Logo();
void mySleep(int milliseconds);
#endif